/**
 * 路由配置模块
 * 
 * 核心功能：
 * - 页面路由管理
 * - 导航守卫
 * - 路由懒加载
 * 
 * 路由结构：
 * - / : 主页面（设备管理）
 * - /simulator/:deviceId : 设备模拟界面
 */

import { createRouter, createWebHistory } from 'vue-router'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: '/',
      name: 'Home',
      component: () => import('@/views/Home.vue'),
      meta: { title: '医疗设备模拟系统' }
    },
    {
      path: '/simulator/:deviceId',
      name: 'Simulator',
      component: () => import('@/views/Simulator.vue'),
      meta: { title: '设备模拟' }
    },
    {
      path: '/console',
      name: 'Console',
      component: () => import('@/views/Console.vue'),
      meta: { 
        title: '工单系统管理',
        requiresAuth: true
      }
    },
    {
      path: '/coordinate-editor/:deviceId/:imageId',
      name: 'CoordinateEditor',
      component: () => import('@/views/CoordinateEditor.vue'),
      meta: { 
        title: '坐标编辑器'
      }
    }
  ]
})

// 路由守卫：设置页面标题和权限检查
router.beforeEach((to, from, next) => {
  console.log(`路由跳转: ${from.path} -> ${to.path}`)
  
  // 设置页面标题
  document.title = to.meta.title || '医疗设备模拟系统'
  
  // 检查是否需要登录
  if (to.meta.requiresAuth) {
    const token = localStorage.getItem('token')
    if (!token) {
      console.log('未登录，重定向到主页')
      next('/')
      return
    }
  }
  
  next()
})

export default router

